使用Android编写一个2048小游戏(一)

您所在的位置:网站首页 android 2048小游戏 使用Android编写一个2048小游戏(一)

使用Android编写一个2048小游戏(一)

#使用Android编写一个2048小游戏(一)| 来源: 网络整理| 查看: 265

2048小游戏还是很简单的 这个是我做的 这里写图片描述 首先分析 - 游戏的操作只有上下左右的滑动 - 每次滑动的结果是 - 1.数字向该方向滑动, - 2.相同的并且相邻的数字相加, - 3.数字相加有一定的顺序,方向上靠前的数字先与相邻的数字相加,数字每次滑动只进行一次相加,比如 向左滑 2,2,2,2滑动之后是4,4而不是2,4,2或者8 - 数字之间的计算只在滑动所在的一行或者一列。 - 滑动之后随机在没有数字的地方出现2或者4 - 如果在某个方向上没办法移动并且没有数字相加就不会出现数字 - 所有数字无法移动之后结束游戏或者出现2048这个数字

实现方式,不管上下左右其实结果都是一样的,而且每一行的计算也是一样的,只要实现了一行的计算就可以实现所有的计算。

这里使用了linkedList作为一行数据结构,将一行的数据按顺序放入list,空格使用0来填入

void OneLineCount(){ //去掉所有的空格‘0’ for (int p = 0; p < mnumberlist.size();) { if (mnumberlist.get(p) == 0) { mnumberlist.remove(p); }else { p++; } } //将相邻的数字作比较相等就去掉两个数字并在前一个数字添加他们的两倍,然后k++跳到下一个数字,当k位置是最后一个数字时就退出因为最后一个没有后面的数字了 for (int k = 0; k < mnumberlist.size()-1; k++){ if (mnumberlist.get(k).equals(mnumberlist.get(k+1))){ Integer a = new Integer(mnumberlist.get(k)*2); mnumberlist.remove(k); mnumberlist.add(k,a); mnumberlist.remove(k+1); } } }

我使用int[4][4]二维数组表示整个表格,在滑动之后就按滑动方向的顺序将每一行添加到LinkedList里面下面是向左滑时的代码

void leftSroll(){ for (int i = 0; i < 4 ;i++){ for (int j = 0; j < 4;j++){ //将一行填入list,每种滑动顺序都不一样 mnumberlist.add(j,tablet[i][j]); } OneLineCount();//一行的计算 for (int c = 0 ; c


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3